JavaScript MVC micro-framework