Add JSON & Template system

Modules and Widgets now have a JSON to store their version, creator and
name. Basic template functions are added too.