Test coverage

Coverage of the Python backend and of the browser code, measured on every push to main. CI fails when lines, functions or branches drop below 100 %.