Sort widgets by position before initializing

Removes requirement for ensuring widget positions are consecutive in config.js. Code will now sort all included widgets by their configured position, then before initializing assign a new auto-incrementing position to each widget, ensuring no errors are thrown in cases where positions aren't consecutive (i.e. position 0 missing, etc.).

fixes #37