Add EventViewWindow element

Implements a "window" into the theoretically infinite event list that
can be moved and still preserve the state of existing items.  This can
be used to implement an infinitely scrolling day view, for example.