[fix] upgrade packages in requirements.txt
[enh] port db to flask-sqlalchemy to stabilise db handling

using different db configurations i came across a bug where i received
transaction errors indicating pending batch operation when
adding/removing/modifying sources. i checked the code and everything
seemed ok. looking at flask-sqlalchemy, it solves the problem of
handling the db layer correctly in between separate pageloads. i gave it
a shot, and i can't trigger the old behaviour now.