Basic IViewport3D interface

Created a basic IViewport3D interface. A Viewport3D class will
eventually be implemented (following the example of the original Hammer)
for better modularity and ease of creating multiple viewports.