Add client-side routing/models/views for Get Started page

This pull request adds the necessary models/views/routing to make the Get Started page work with client-side routing.

It basically works in the following way:
* **Views**: The page consists of two views (`Y.GridInputView`, and `Y.GridOutputView`). `Y.GridInputView` listens to all the input elements and is responsible for firing events when they change. `Y.GridOutputView` consists of the `<divs>` that show the generated CSS/HTML, and is responsible for updating them when the model changes.
* Whenever an `<input>` element is updated, `Y.GridInputView` fires a custom event with the contents of the input. 
* **Models**: The page is bootstrapped from the server, and a `Y.GridModel` instance is created with the contents of the query parameters. Any media queries are stored in a `Y.MqModelList`, which is in turn, stored in `Y.GridModel`. There is only 1 instance of `Y.GridModel` on the page, and both the views listen to its change events.
* **Router**: The "controller" is a `Y.GridRouter`, which listens for the custom events that `Y.GridInputView` fires. In its callback, it updates the URL with the new query params, which in turn fires a route handler callback. Within the callback, it gets the new query params, and updates the model. This model update, in turn lets `Y.GridOutputView` fire its `render()` method.

Here's a diagram of how it works:

```
Update input => 
Y.GridInputView fires custom event => 
Y.GridRouter updates URL => 
Y.GridRouter handles new URL => 
Y.GridRouter updates Y.GridModel instance => 
Y.GridModel instance fires change event => 
Y.GridInputView.render() => 
Updates generated CSS.
```