Added a polygon counter and a function to add polygons to the PolygonCache

|SOURCE|
[Common/PolygonCache]
* AddPolygons adds vertices and indices using the primitive type specified
* Added a primitive type to the cache struct
* FlushFullestLine returns the line flushed and resets the polygon, vertex, and
  index count as well as the material ID
* When adding polygons, if there is a cache line available, the polygons are
  added to the cache or added to a cache with enough space left
* If a cache line is going to be full with the added vertices or indices, the
  line is flushed