Fix template specializations

The template specializations need to be declared in the header.

Change-Id: I42f6cfbe4c94da728894dc8ce4ab47df19e243aa
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Avoid naming classes DrawState

Since winuser.h contains a DrawState #define, this tends to wreck havoc on
Windows. This patch respectively renames QDrawState, Qt3D::Render::DrawState
and Qt3D::Render::DrawStateSet to QRenderState, Qt3D::Render::RenderState and
Qt3D::Render::RenderStateSet. While this is more invasive than just
undefining DrawState, it should be more foolproof too.

Change-Id: I9fa86e5bf1fe41fb4839bd146822cc43e26019e6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>