Documentation clarification and fixes.
Reducing pointer chasings, part 1: method chaining via references.

Makes some cases less consistent (and some convenience shortcuts
impossible), but goes well with the attitude "don't use pointer when it
can't be null".
Reducing pointer chasings, part 2: don't use `this->` so often.

It clarifies some things (e.g. from what base given member is). Not
changed where it would be too long to write.
Reducing pointer chasings, part 3a: less pointer passing in root namespace.

Passing pointer as function parameter will now mean that it is possible
to pass `nullptr`. Some code examples now look like the parameter is
copied instead of referenced, which is misleading. Updated the
documentation to reflect that more clearly.
Reducing pointer chasings, part 3b: less pointer passing in MeshTools.

MeshTools::interleave() might cause porting problems, as the error is
now much more verbose if you accidentally pass Mesh* instead of Mesh&.
Reducing pointer chasings, part 3c: less pointer passing in SceneGraph.

Main change is that features take reference to containing object instead
of pointer, as the feature must always belong to some object. Feature
groups now return references to features and features return reference
to containing object, as these cannot be null.

Passing `*this` to AbstractFeature (and Camera[23]D) constructor might
now clash with deleted copy constructor, added templated constructor to
catch and resolve these ambiguous cases.
Reducing pointer chasings, part 3d: less pointer passing in Shapes.

Mostly just adapted to SceneGraph changes, functions not expecting
nullptr are now taking/returning reference.
Reducing pointer chasings, part 3e: less pointer passing in DebugTools.

In most cases just adapted to changes in root namespace and SceneGraph.
ForceRenderer now takes const reference to force vector and additionally
disallows passing rvalue to it.
Reducing pointer chasings, part 3f: less pointer passing in TextureTools.
Reducing pointer chasings, part 3g: less pointer passing in Text.

The testing is now slightly more sloppy due to inability to not pass any
Font or GlyphCache object. But it is actually better from user point of
view, as it is now impossible to do that by accident.
Add pointer conversion operator to Resource.

Unlike reference conversion this doesn't fire assertion when resource is
not loaded.
SceneGraph: add just-to-be-sure assertion.

Now we have references all over the place, let's trust pointers even
less.