Cleaning up after fa-surface

Addresses another situation where a scope.$destroy() leaves behind a bunch of stuff we can't even use anymore. Found not having this to be a performance hit when we have an ng-repeated set of fa-modifiers with fa-surfaces inside and splice something out of the ng-repeated array. Lots of stuff gets left behind, even though it's inaccessible everywhere in the application.

Gives faApp child scopes a method (getContext) that can be invoked to retrieve the isolate context created with Engine.createContext. This is needed to get the ElementAllocator used to invoke Surface.prototype.cleanup, which cleans up bindings. Then we remove the HTML it leaves behind.