Rework file organization and prepare for i18n support

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

Just copied from critiquebrainz, i'll clean them later