Converted Euler rotations to Quaternions

Converted local Euler rotations to Quaternion based rotation to avoid
gimbal lock.
Added synchronization checks to all uses of mChildren and mPlugins

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Update Animation3D.java

Minor change to avoid a flashing effect when using Animation3D.REVERSE + Animation3D.INFINITE
Converted to CopyOnWriteArrayList

Converted mChildren, mPlugins, mFilters to Collections.synchronizedList
wrapped CopyOnWriteArrayList and removed all synchronized statements
related to these members in RajawaliRenderer.
Extended concurrency protection

Extended to include mLights and mChildren of BaseObject3D. Note that
this changes the method signature of addLights() in BaseObject3D,
AMaterial and AAdvancedMaterial.