renderer: Implement an image source system

Includes and image source implementation and dedicates cache for 3 image
source objects in every entity. This cache is then used by the renderer
to determine whether the image source is a video or a static texture and
to then handle it appropriately.