UI overhaul

Converts the UI over to EC principles and introduces the Graphical
component.  This component is gathered whenever the Overlay is rendered
(after each frame, if an Overlay exists).

A graphical component extends Transform and provides 2 additional core
values:
- Media:  the media object to be rendered
- Anchor:  the alignment of the media object relative to the dimensions
of the overlay.

All graphical components who specify their translation sub-values
(per-axis) as being Floats will have that axis made relative again to
the appropriate axis of the overlay.  Ergo, a graphical may specify
absolute Y offset from the CENTER page anchor, but a -5% (-0.05) X
offset.

Additionally, String media objects will draw upon optional properties to
determine their color and font.
Add Selectable

Adds the new Selectable component, that allows entities to be marked as
being "selected."
Merge remote-tracking branch 'origin/ui-overhaul' into development