The bulk of this commit is changing instances of Vec to RingBuf which is
optimized for the push_back() / pop_front() strategy that is used
internaly in the event system.
The glutin custom iterators are now just wrappers around the RingBuf
iterator type. This will bring the running time of iterator traversal from
O(n^2) to O(n) because shifting-on-delete won't be performed.