Inspired by some of the cases from D145468
Let SimplifyDemandedBits to drive the narrowing of lshr to half-width if we don't require the upper bits, the narrowed shift is profitable and the zext/trunc are free.
There's still a number of regressions that I'm looking at, but the general shape of the patch is ready for initial review.