[5/9] Theme engine

Parts of patch authored by: Andy Mast <andy@cyngn.com>

Change-Id: I0ff5d0a6028b2396bc4759c75c1f2d717416111e