The lib/ directory was getting a bit out of hand, so this tries to organize things a bit so it is easier going forward to locate the code people want to patch.
This will give us a single place to deal with the mechanics of how zoom works, and then our UI code can simply apply the value as necessary.