Angular style overhaul

- Making use of angular.module, avoiding global namespace
  pollution.
- Separation into separate files for app, controllers, services
  (geolocation is now its own service)
- Updated markup to use data-* attributes