Add restrictions on adding a surface to a layer
This prevents:
1. A surface being added to multiple layers.
2. A surface being added to the same layer multiple times.
API Calls:
Added: unsigned int Surface::getContainingLayerId() const
Added: void Surface::setContainingLayerId(unsigned int id)
Added: inline void Layer::removeAllSurfaces()
Added: bool Scene::isLayerInCurrentRenderOrder(const uint id)
Removed: void Scene::removeSurfaceFromAllLayers(Surafce* surface)
Change-Id: I788e716aabf322b9b800157d1c498ca62e468b90