Add static analyzer with constant propagation

This pull request adds the first version of the static analyzer hidden behind a `-D analyzer` flag. It comes with constant propagation.

It's still a bit rough implementation-wise and I'm having issues with both the null checker and local DCE, which is why both are not enabled yet. I plan to improve this soon, but we have to start somewhere.