HandleOwner

Fixes #518

This introduces HandleOwner, that makes Handles so much easier and safer

* Use HandleOwner as base class for an object  that should be holdable via Handle
* Request a handle via HandleOwner::handle<T>(), so you can call Ship::handle<Ship>() and Ship::handle<WorldObject>() but not Ship::handle<Script>()
* No need for objects to keep a own instance of "their" Handle