Properly register created textures.
Added missing forward declaration.
Check for correct field.
Allow querying if a page is shown to the user.
Don't query plants if there's no page shown.

This is important for two reasons. One is that we don't want to fill up
the task queue with foliage processing when there are pages waiting to
be processed. The other reason is that it looks strange when foliage is
shown without a page.
Added events for when a page is shown and altered.

By hooking into Ogre::Terrain through EmberTerrain we can get an
accurate reading on exactly when a terrain page is shown to the user.
Reload foliage when page is shown.

Since we don't show any foliage for pages that aren't shown we must
reload the foliage when we detect that pages have been loaded and are
shown.
Remove unused signal.

We do this in EmberTerrain now instead.
Only render altered part of composite map.
Subclass Profile rather than MaterialGenerator.

Since this is more lightweight and also fits with how the material
generator is meant to work.
Remove unused class.
Fixed issue with error material being deleted.

Since the terrain system itself deletes any material used in a page we
need to use clones of the canonical materials, else there will be
segfaults and assert failures.