Fix nasty Simplifier scoping bug
This bug was somehow tickled by the new code for desugaring
polymorphic bindings, but the bug has been there a long time. The
bindings floated out in simplLazyBind, generated by abstractFloats,
were getting processed by postInlineUnconditionally. But that was
wrong because part of their scope has already been processed.
That led to a bit of refactoring in the simplifier. See comments
with Simplify.addPolyBind.
In principle this might happen in 6.8.3, but in practice it doesn't seem
to, so probably not worth merging.