delete instead of add superseded geom components

When adding a replacement geometry component to an entity there were a
few cases where we were intending to remove the old component but
instead were re-adding it.
entity: Implement CoglPrimitive cache

RutEntity now caches the CoglPrimitive of its geometry
component. Built in geometry (circles, diamonds, pointalism, etc.)
have method get_primitive which uses their RutMesh attribute
to create a CoglPrimitive which is then stored in the
entity cache.