Create a MapView control and move rendering logic into it

Initial steps towards lighting update as well.
Change Rect's Size to actually use Size.

And change all uses of Size.[X,Y] to [Width,Height]
Trim Render() from Engine as functionality moves to MapView
Change usages of Color to IColor

Also move ToTcodColor from an implicit cast to an explicit function.
Makes the code more verbose but interfaces can't have implicits.

Also add Additive and Subtractive blending.
Make LightMap<T> bootstrap itself if T is a class.

Initialize the array with values if it's not value types.
Add support for setting the title in a frame for any control.
Add slight support for multi-line tooltips.

The height of the tooltip is now the number of line breaks in the string, the length is the
longest line. Shorter lines are padded with spaces to match the longest strings length.

Otherwise the tooltip control has gaps in it's background.
Make all tiles allow light transfer by default (for test data)
Add functionality to MapView

+ Support for tooltips (Currently prints tile information)
+ Draw constrained to the window, respecting framing.
+ Basic support for applying lighting color from light map.
+ Currently cycle per-tile lighting randomly to show it works.
Update the demo window to show the MapView
Move GameMap and Tile into the core assembly.

Also rename the files in DataStructures to match their interface name.
Move to new version of InfiniMap.
Tidy up for last commit.

Change Tile usage to ITile and remove MapGeneration code, wasn't used anyway.
Engine can go, it's obsolete with MapView
Add a default color and render offset.
Make ParentWindow on a Manager settable from the outside.
Starting work on ScreenBase stack system.
Promote ScreenBase to a core part of the UI library.
Add a new UI Component event, TearingDown

Raised just before a Component is about to be removed from the scene-graph, this
gives controls a chance to clean up.
Trim out unused configuration classes.

These will probably be reinstated in some form in the future, but aligned to the new framework.
Add new UI control, Label.

Provides a single line of text.