US2 Add optional surname to all players.

Introduce concept of Presenters (used to be called View). They are used
to delegate to business logic objects for presentation purposes.

Also introduce a NullPresenter the times when the presentee is not found
or otherwise nil.
US2 Isolate commonalities between presenters into Presenter base class.