Upgraded JS dependencies and did some refactoring along the way... Signed-off-by: Michael Mayer <michael@liquidbytes.net>