overloaded Intrinsics::loadProjectionMatrix with viewportRect argument

In some cases (projection mapping, use of external display..etc) it can be useful to set the viewport coordinates and size. This PR just adds an overloaded method with the viewport as first argument.