Extracted JS classes/utils into separate files

Classes and utilities were extracted into their own files. A
combiner/minifier was used to create a master JS file.
Added ignore for IDE project files