Merged from 1.8 branch, revisions 4345-4378. All release fixes since the branch to 1.8, and some fixes after that. Now commencing development on this branch, and only bug fixes on the others.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4379 dfc29bdd-3216-0410-991c-e03cc46cb475
Merged 1.8 branch, revision 4380, compile fix

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4381 dfc29bdd-3216-0410-991c-e03cc46cb475
Add getters IGUIButton::isDrawBorderEnabled and IGUIButton::isDrawBackgroundEnabled


git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4384 dfc29bdd-3216-0410-991c-e03cc46cb475
Convert CAttributes Parameter member to dynamic memory allocation, as it is reference counted.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4385 dfc29bdd-3216-0410-991c-e03cc46cb475
Use methods access to avoid out-of-bounds array usage

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4386 dfc29bdd-3216-0410-991c-e03cc46cb475
Merging 1.8 branch:
- r4389: Fix crashes in CCubeSceneNode::clone and CSphereSceneNode::clone (reported by  marsupial)
- r4387/r4390: fixed getDepthFunction in IQ3Shader which always returned ECFN_EQUAL due to missing break (found by the cppcheck tool)
- r4382: Fix the clipping in the listbox drawing which was only showing the right line of the sunken pane (reported by Mloren and Abraxas).


git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4391 dfc29bdd-3216-0410-991c-e03cc46cb475
Enable MultiProcessorCompilation in VS 10 for faster compiling (it's usually on by default, maybe got disabled because it was converted from an older project file once).

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4392 dfc29bdd-3216-0410-991c-e03cc46cb475
- Removed unnecessary OpenGL calls. Thanks to Hendu for prepare patches.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4397 dfc29bdd-3216-0410-991c-e03cc46cb475
- Removed shader interface for bool variables (int interface will handle them).

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4398 dfc29bdd-3216-0410-991c-e03cc46cb475
- Improved a shader interface handling.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4399 dfc29bdd-3216-0410-991c-e03cc46cb475
- Fixed issues with D3D9 get constant ID method.
- Fixed example 10.Shaders.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4400 dfc29bdd-3216-0410-991c-e03cc46cb475
- Added deprecated method for backward compatibility with previous shader constant system handling.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4401 dfc29bdd-3216-0410-991c-e03cc46cb475
Add IColladaMeshWriter::findGeometryNameForNode

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4402 dfc29bdd-3216-0410-991c-e03cc46cb475
- Minor improved speed of shader based material rendering.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4403 dfc29bdd-3216-0410-991c-e03cc46cb475
- Improve OpenGL calls cache (This may be unstable revision, require more tests). Cache will be improved further in close future.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4404 dfc29bdd-3216-0410-991c-e03cc46cb475
- Fixed problem with dynamic_cast.
- Restored const-correctness for draw2DImage methods (it was changed in previous revision).

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4405 dfc29bdd-3216-0410-991c-e03cc46cb475
- Improved organization of texture state cache.

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4406 dfc29bdd-3216-0410-991c-e03cc46cb475
Collada exporter now exports the camera matrix as "lookAt" values. The problem with rotations was that the camera disregards the up-vector in rotations (also using lookAT is probably nicer anyway for cameras). This should likely also be fixed in the camera code. But there's more trouble it seems as for example projection matrix changes also don't register in the near/far values. I've just added a todo there in the Collada export. Meaning that orthographic camera export is still broken (still experimenting how to fix that best).


git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4407 dfc29bdd-3216-0410-991c-e03cc46cb475
- Partially improved active texture handling in OpenGL (cause some issues with 2D rendering visible in example no. 11).

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4408 dfc29bdd-3216-0410-991c-e03cc46cb475
Calculating values for orthonormal camera on Collada export. Note that I have found no tool yet which can load them, so I have no test so far (CColladaFileLoader also ignores existence of orthographic cameras so far). But the old export was definitely wrong while the new solution should at least work in theory. 

git-svn-id: https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/trunk@4409 dfc29bdd-3216-0410-991c-e03cc46cb475