Deprecate document.application

require("montage/ui/application").application should be used instead.
Stop calling templateDidLoad on external objects
Add templateObjects spec tests
Flow documentation work
Improve initial component draw

Instead of asking all children of a component that will draw to draw too, only draw components that asked to draw.
We had this logic before because we were ignoring a needsDraw during deserialization, now we delay that request to after the deserialization instead of just ignoring it.
Add test to DocumentResources

Make sure styles are only added once.
Fix a problem when adding stylesheets to the document

Adding stylesheets at draw time was not a good idea because they don't become effective during the draw cycle.
As a workaround the component now gives the stylesheets to the root component and whenever there are stylesheets to draw an additional draw cycle is triggered just to draw the stylesheets before the components draw.

This also fixes the problem of adding a stylesheet to the document more than once.
Cache template serialization object
Merge Flow work into edge

Deleted flow.js
Deleted flow-translate-composer.js

Both of these will appear in Matte.
Initialize iterations immediately

They need their repetition reference before they are finished
initializing.
Fix filter observers in FRB

This is necessary for Flow frustrum culling in Matte.
Use montage-testing in montage tests.

The support directory is deleted since all the code is refactored into
montage-testing.
Fix the way module loader checks for loaded modules

It was always calling require.async for loaded modules that lived outside the application require.
Check to see if template resources are loaded

Skip a promise if the template resources are already loaded.
Add module preloading to the serialization of a template
Cache createTemplateFromElementContents

It's used to create the innerTemplate, this caching system is important for nested repetitions.
Add _addToDrawList to DocumentPart

Since DocumentPart acts as a parent component it needs to support the same interface, it will ignore it though.
Correct montage-testing version dependency
Fix ModuleLoader.getExports()
Squashed 'packages/mr/' changes from d4747af..ef5fe07

757aa99 0.12.11
c31fd6e Update changelog for 0.12.11
5f8dcca Only ignore node_modules in the root of the repo
9aa920c Merge pull request #16 from Stuk/phantom
3fce4c1 Merge pull request #18 from Stuk/case
fc4428b Update case sensitivity test to capture errors on first require
9855480 Merge pull request #17 from kriskowal/inject-dependency
7bc4f54 Add injectDependency and injectMapping
0b0d11d Add support for running under PhantomJS and Travis

git-subtree-dir: packages/mr
git-subtree-split: ef5fe07b4c2e28a8a53f05a61772e9b3b643593c