Add tileLayerController and update main.js

**not ready to merge**

Todo
- [ ] add tests