Shifting to require js, allowing better future support for MVVM

I think its all working, but i've been drinking all day so I could be wrong, point any bugs back to me if you have issues and i'll fix them. :)