Load views via RequireJS

Notable Changes:

  - Subviews render asynchronously

  - To accomodate RequireJS's async class loading, postponed rendering
    of views relies on an array of promises instead of view instances.
Update project description