Use flake8 in pre-commit checks

flake8 helps finding issues in Python code (see !1434 (merged) !1437 (merged) !1438 (merged)), and could be used in pre-commit checks: https://flake8.pycqa.org/en/latest/user/using-hooks.html#usage-with-the-pre-commit-git-hooks-framework

@fwinkl, what do you think?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information