Create programmable ColorTexture and allow it be used with the BlockSelectionRender

Fix bug where inner class Component LocalPlayerBlockSelectionByItemSystemListener was not serializable.