Updated heatmaps to pull random data from server

This update has the heatmaps pulling in random data from the server through an asynchronous POST request. It's not particularly efficient, and new random data is asked for every time anything happens, but it's a working end-to-end proof of concept for heatmaps functionality.

Some important things to note: 
- @CYLoe I made the constructors of DataTuple public. This was just for generating fake data, so they can go back to how they were before without much trouble. Was there a specific reason they weren't public?
- If you zoom out too much, the page gets very unresponsive
- Client side caching will be my next priority, I think.