Cluster support and client-side refactoring

Shaman can now receive events from any nodes and will forward
them to the UI properly.

The UI now understands what node the data comes from. Depending
on the type of data, it will either display information about
all nodes or about the currently selected node.

The UI is now completely pluggable. Pages can be added with a
new JS file, and different data representations can also be
added similarly.
Add a page that displays memory usage charts for all nodes