Many changes related to RenderCanvas and the area viewer

- RenderCanvas: Using VolatileImage for storing images to reduce memory
consumption and improve overall performance
- Area Viewer: Using a JTree component for sidebar controls
- Area Viewer: Internal changes in layer-specific classes