Fixed issue #2: frame counter no longer tied to window position.

* The frame counter is now separate from the source_rect logic.
* source_rect is advanced by `w`, and rewound by `w * (num_frames -1)`