Geometric Primitives now support PatchLists

Added an option to GeometricPrimitive to use a PatchList of 3 instead of
a TriangleList when drawing.
GeometricPrimitive now supports an all PrimitiveTypes