Initial implementation of the adventure xblock

Initial implementation of the adventure xblock, build with Backbone + Marionette.

It currently only read the raw xml config.... but this will be modified to use lightchildren. To make this testable on the client side, we can only mock the function that fetch the data in the controller.
Also a minor comment but I think these JS includes should be cleaned up like so:
```python
js_urls = [
	'public/js/vendor/underscore-min.js'
	'public/js/vendor/backbone-min.js'
	'public/js/vendor/backbone.marionette.min.js'
	'public/js/vendor/jquery.xblock.js'

	'public/js/adventure.js'
	'public/js/adventure_controller.js'
	'public/js/adventure_step_view.js'
	'public/js/adventure_navigation_view.js'
	'public/js/adventure_models.js'
]
for js_url in js_urls:
    fragment.add_javascript_url(self.runtime.local_resource_url(self, js_url))
```

Also, why is `JS_TEMPLATES` a class constant, but CSS and JS resources are specified inside this method? Seems inconsistent.