Implement template-based interface system.

This commit adds the new template-based interface service. This service
relies on the interface screens being defined in body script tags. When told
to transition to a particular screen, the service finds the script tag with that
particular name, loads the text content as the interface HTML content and
parses a series of custom attributes to determine what object properties should
go where.