Start moving style definitions from LESS to JS

Add style.ts as a lightweight CSS generator
which allows defining CSS classes to be defined
in JS / TypeScript and have their usage type checked.
Port item list styling to TypeScript
Port unlock view styling to TypeScript
Move app styles into a single theme.ts source file

This combines some of the benefits of the styling-in-TypeScript
and styling-in-LESS approach used before:

 - Single entry point for the CSS processor (cssgen.js), instead
   of needing to pass each component that might contain style.create()
   calls. We can't just pass app.js to cssgen.js because that will
   try to run app init code that only works in the browser.

 - Gives us the property name checking from TypeScript but also
   restores the presentation/logic separation that we had before.
Fix tslint errors

One non-obvious change here is that ItemList.setFocus() is used
by a mixin but tslint cannot see that usage, so the method
needs to be marked public to avoid a warning about an unused method.

Marking the method as protected would probably be a better way
to mark internal methods for use by mixins.
Add basic tests for style.ts
Add a div() function as a short-hand for creating styled <div> elements

Add a short-hand for the common pattern of:

  react.DOM.div({className: style.classes(<classes>), ...}, <children>)
Port details_view to style.ts
Port remaining components to use style.ts
Small comment tidy-up