Use appendText for efficiency.

Much faster than getting the string to lua, fiddling with it, and
putting it back.
Display any messages in the hover widget.
Print message to console when touching.

Any entity with a string "message" property will have that printed to
the console when the user clicks on it.
Fixed incorrect size calculation.

We need to parse the string ourselves to get the correct vertical size.
Don't use a name if none is specified.
Fixed issue with invalid area shapes.
Added option to resume world, and logging fixes.
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.
Remove invalid copyright assignment.