Added code reuse for graphs settings.

Instead of the graph settings being saved in on member of the GraphBox
prototype, the GraphBox only holds the basic settings, and child
prototypes can now extend this settings with an implementation of
extraSettings in their prototype.
Added basic implementation of CPUBox
Fixed broken namespacing
Added BaseBox GraphBox to the list of base modules
Added a new prototype to handle graph APIs

I have added a new prototype that will handle endpoints that require
constant pulling for a graph.
Changed the MemoryBox and the MemoryAPI to use new GraphAPI class
Moved helpers functions from API module to helpers
Moved the OS API to its own module
Added option to add a formtter when constructing a GraphAPI object

Instead of having to extend the prototype, now it's possible to pass a
custom formatter to the GraphAPI constructor and it will be used instead
of formatResponse.
moved memory specific stuff from default graph settings
added api for the cpu graph
Added CPU Box.

Added baisc implentation of the CPU box.
cleaned BoxesLayout class
changed relative paths to absolute ones
added settings and API layer to base JS resouces
Now the GraphAPI is making sure the response is JSON
added ThreadsGraph to API
now making sure GET helper returns JSON
added threadsLayout that inherits from BoxesLayout
Added a PageHandlr for the threads tab