Bounds inference more selective about what expressions it injects.

For a dependency between producer stage and consumer stage to make it into
bounds inference preamble, we must be inside the production of the consumer
stage, or the consumer stage must exist inside of this location.
Add a pass to coalesce redundant let statements

This makes inner realizations more likely to simplify to a constant
and become stack allocations.
Merge branch 'rvar_reorder' of github.com:halide/Halide into rvar_reorder
Avoiding unifying lets that might be impure
Don't enforce explicit bounds in inner loops of the bounded production