Cleanup the app structure

The app must now be provided a DB object at init time. The app then
use this DB object to create all the model and view/control classes.

The app now also register a callback on the DB object to allow it
to query the user credentials. This make sure that the user can always
re-login when the session timeout.
coplanar/model: Simplify the references implementation

Extend the "default" implementation with one using the generic
getObjectContext() and drop the dynamic type registration. This make
things simpler and similar to the way typed attributes are handled.
GV: Disable the escape key on the login dialog
Move the login process to the common app code