Enhanced Viewport struct.

This patch added comments to Viewport, added few new useful constructors,fix ToString method, improve performance of Project and Unproject methods by using fields instead properties.