Rework file organization and prepare for i18n support

Inspired by CritiqueBrainz code organization, introduce the use of Flask blueprints


The website doesn't have a login system for anything, so is this class needed? I guess the same question applies to some of the other classes here.