Refactor WindowCache to allow dynamic changes in configuration
We want to allow applications to alter the WindowCache configuration
on the fly, such as in IDEs when the user changes our parameters and
expects the IDE to respond immediately to the modification.
This means we cannot safely access our window size data from outside
of WindowCache, as the ids for windows can change when the size of a
window is modified by the caller. Instead we must work with the full
file position anytime we want data, which forces us into using a 64
bit value where we had been using only a 32 bit window id.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>