My apologizes for any bugs / unfinished code. It's a Work-In-Progress.
This page assumes your browser supports modern-ish ECMA-262 (ECMAScript / Javascript standards)