Add batch requests support

This patch changed the way the data is pulled from the server to use the new batch API.

This is done by implementing a queue, with an interface allowing to add requests and retrieve a promise to resolve those requests.

With an interval, the queue of requests is commited using the batch API and all of the promises are either resolved or rejected based on the response from the server.

Using this method, we gain a simple interface for ajax calls, allowing us to not have to change the way the API layer of the gui is making requests.
On top of that we gain having the graphs updating at once, instead of independently ticking. 

This pull request also includes changes to the default settings:
Updating more frequently at a rate of 500ms and showing more points on graphs (40 instead of 20)
to allow the graph to show all of the points, I have introduced subtle changes to the graph design, trying to get as close to Eldan's mockups as possible.