[WIP] Optimizer: apply identities

Mostly for optimizing address computation from Mul to Shl, which in turn makes the backend use addressing modes.
This _should_ make fannkuch much faster - which it does, except when enabled alongside const folding.