I think GWT excels at building the smallest widget first were compositing them together can formulate more complex widget until you can call it a full blown application. I see a widget being able to stand on its own and that includes unit testing against it. Making building blocks like this is simple, easy, abstract-able and quick to build a sustainable application.
Yes. To my understanding, MVP is another way to unitize the application building with the premise its easier for testing. Although, I think it uses far more classes and interfaces to build a unit. I've found I can build a widget with UiBinder and test it just like it were a presenter in MVP. Maybe, building independent widgets is more like Flow Synchronization pattern and less like MVP. Regardless which pattern or road you use, building units and testing those units is critical to building a healthy application.
I think, In the end, it really doesn't matter unless you build a independent useful component that is testable and useable for an application.
GWTTestCase makes it really easy to test your widget or unit. I can even test computed style and all the things mocked up in an ui. The only thing I can't test is event logic. Yet, I can mock some events and assert my expectations for most of the logic, which mitigates most of the challenges I could have with a unit down the road. That which you can't do, will have to be done with something Selenium.
I built a simple basic example. I start with a PersonPresenter and add an email list which adds email items. I built this to explain my point with building a unit a widget and testing that unit a widget.