Added a PolygonCache class

|SOURCE|
[Common/PolygonCache]
* The PolygonCache is responsible for pushing polygons to the GPU memory and
  allowing the user to recall previously registered polygons