visit and draw improved.

`visit()` and `draw()` are improved.
they both receive:
 - `Renderer`
 - `kmMat4` for transformation
 - `bool` whether or not the transform changed from the previous frame

Although `draw` and `visit` are not using the 3 new parameters,
they will start using it in the coming days (or weeks, or months).

Those parameters are needed for:
 - `Renderer` shouldn't be a singleton. There should be one renderer per Director. There could be more than one renderer
 - we should get rid of `kmGLXXX` functions since nodoby knows what is happening. the `kmMat4` is for that.
 - whenever possible, we should try to optimize the multiplications. the `dirty` flag is for that.

We need those changes, so, it is better to change the API now, and not right after v3.0-final is released.
Merge branch 'develop' into visit_draw_improved
transform object returns the MV

code cleaner.
the kmGL code is altogether
Applies Wu Hao's patch for 2.5D
Cache working OK.

Performance increased in 20% for static objects.
shaders set in the correct position
removes unused ivar from ParticleSystemQuad
removed empty spaces
Updates CHANGELOG
indentation fix in CHANGELOG
Adds new ParticleTest for auto-batching
removes CC_TEXTURE_ATLAS_USE_TRIANGLE_STRIP support

It was never used. And it is slower.
Nodes: setAdditionalTransform() receives a pointer

and not a const reference.
If the pointer is `NULL`, then it won't use the additionalTransform
Merge branch 'develop' into visit_draw_improved

Conflicts:
	CHANGELOG
	cocos/gui/UILayout.h
Merge branch 'develop' into visit_draw_improved
Merge pull request #5491 from ricardoquesada/visit_draw_improved

visit and draw improved.