In EC Editor, show the "E" button next to asset reference only if we have asset editor available.
Make usage of NVIDIA PerfHUD definable by command line parameter instead of preprocessor definition. Make supported command line arguments printed with "--help" appear in camel case for better readability. Doc cleanup in EC_Camera.
Fix bug that caused EC Editor selection not to stay highlighted in Scene Structure window, if Scene Structure was hidden and shown again while we were having entities selected in/by EC Editor.
Add note that OgreWorld::Raycast never returns a null pointer.
Fix material drag-and-drop import (use "Texture" and "OgreMaterial" instead of "texture" and "material" for asset type identifiers).
Add todo for mouse scroll input to EC_GraphicsViewCanvas
Fix comment typos.
Expose AvatarDescAssetPtr to QtScript.
AddAttachment: Move parsing avatar attachment data to xml to AvatarDescAsset side from AvatarEditor.
EC_GraphicsViewCanvas: implement mouse scroll input + some code cleanup.
New Canvas demo scene for demonstrating the EC_GraphicsViewCanvas.
Fix typos in Canvas Instructions.js
Scene Structure window: make "Save as..." ignore temporary components.
AvatarDescAsset::RemoveAttachmentsByCategory - removes all attachments of given category from the avatar.

Useful for avatar editor implementations.
AssetAPI: Fix bug where failed asset loads left their asset transfers into the transfer map incorrectly indefinately.
JavascriptModule: Prevent null crashes on framework property QObjects if the ptr has been freed, not a active bug bug a lurking one if some 3rd party module misuses the dyn obj registration to framework. On a side note: We should add a remove counterpart to RegisterDynamicObject(...).
AssetAPI/AssetModule: Implement a Abort() mechanism to IAssetTransfer. For now the abort is only used from AssetAPI itself in ForgetAllAssets() (when it also clears the shared_ptr transfer map, meaning its no longer expecting it), it cannot be called from scripts. AssetAPI will just ignore Aborted() transfer when they finish and make the appropriate callback to AssetAPI and not load anything into mem. Before the Abort() mechanism any 'forgotten' transfers finishing, meant we logged a warninig but still loaded the asset fully to memory (yes, to ogre aswell). This should never happen if AssetAPI is told to forget all assets and ongoing transfers.
Client: After removing the client scene when disconnecting from a server, forget all assets in AssetAPI. This prepares Tundra to be more suitable for multiple scene logins on one Tundra instance. If we will not do this, all the visited scenes assets will stay in memory and after a while you will not be able to login to any scene without running into our of memory issues.
Rendere: Add more useful information on rendering errors where sub rect of the DX surface could not be locked. Add code that will correct if the constructed blit subrect is (partly) outside our scene rect.
Threaded ogre asset crash fixes: If the asynch load operation is ongoing in ogre make sure to abort it when unloading the IAsset (so also for dtor/freeing the asset). If this is not done, ogre will have a dangling callback ptr to our IAsset and will crash once the threaded asset load is completed. Now its safe to forget/unload/free ogre assets that are currently being loaded asynchronously.