add 3D text overlay support

This is a new overlay type that allows rendering a text billboard in the 3D space. This will be used by the new editing UI/UX.
prototype