Texture mapping supports more precise camera model.

The existing texture mapping assumes a camera model with center of focus in center of camera, and equal focal length on each axis. The modification enables a more general model for applications needing greater precision. The existing behaviour continues to function as the default.