Optimized attribute handler implementations.

- Attribute Handlers are now independent of elements
- Attribute Handlers are constructed only once per element type
- Data is stored in separate "storage" field in ElementHandler
Write element interface into prototype - much memory saved!
Change element implementation to use MutationObserver instead of (deprecated) MutationEvents.

- Added Method XML3D._flushDOMContent that will immediatly flush all stacked DOM changes, updating internal content
- All read-access methods should automatically call XML3D._flushDOMContent to garantuee correct output
Updates several test cases to work with new MutationObserver implementation.
Added load events as well as 'complete' and 'texComplete' property for all DataContainer elements

+ Tests
Changed behaviour of texComplete and textureload event

- texComplete is always false if complete is falls
- textureload event is fired whenever the data and all its textures are loaded (even if there are no textures)
- Extended test cases
Removed texComplete and added more general progressLevel

- progressLevel indicates how much of the data has been loaded
-- progressLevel == 0 => Still loading referered data elements
-- progressLevel == 1 => Still loading textures
-- progressLevel == Infinity => everything has been loaded
- This is currently supported for all data container
- Assets and model follow next
- In the future we can assign a "loadLevel" e.g. to data elements
-- content is loaded in order of increasing loadLevel (loadLevel=0 is loaded first)
-- All data element are by default loadLevel=0
-- All textures are by default loadLevel=1
-- if progressLevel > loadLevel, than this content has been fully loaded
- the load event is called when progressLevel reached "Infinity"
- A progress event is fired whenever the progressLevel increases
Bugfix with initialization of progressLevel + cleaned up some Xflow Enums.
Implemented load and progress events and progressLevel/complete for asset and model.

- Currently doesn't take into account shaders connected to the asset.
Modified xml3d load event to be fired everytime a loading procedure is over.
Improved implementation of event attribute handlers.
Moved test from loading.js to scene-loading.js
Added new 'unsupported' event for xml3d event. Solves issue #56

When calling e.preventDefault(), no error message will be displayed.
Bugfix in Xflow - still used old _subTreeLoading property.
Bugfix in resourcemanager: do not decrease counter for local id handles.
Added try catch for assert since firefox won't allow the access of caller.
Modified configuration to distinguish between HTML and XHTML elements.
Added try/catch block in element.style modification as this results in exceptions being thrown by Firefox.
Adapted tests to work in Firefox.
Merge branch 'load-events' into develop