Expose visibleRect
Remove tileset from environment and add extension to the class hierarchy