Moved main js file to a more generic location
Update demo.html with new main js location.
Add a program entry hook.
More modularization stuff.