Added vanilla JS version - initial commit

Works well except for the animations
Code re-factoring and support for animation pending