DO NOT MERGE Incremental inliner

**Do not merge this PR yet**, it is obviously in a very rough state.

But now the algorithm should be complete enough that things won't change much anymore, except cleanups. So I'm posting it for the eager interested reader.
I suppose the reason is: because it was small enough. Originally everything was in this main method. I extracted `walkForChanges` because it became too big. I suppose I could also extract `walkForDeletions`.