libgambatte/cartridge: allow mapping rom bank0 in more cases/please blargg

blargg seems to be of the opinion that mbc1 allows mapping bank0 via overflow
for carts with few rom banks if his tests are anything to go by. I have no way
of verifying this, but am changing it because it confuses people when his tests
loop forever after succeeding.
gambatte_qt/qglblitter: replace smart array with std::vector
vsync/frametime estimation improvements

use frametime samples below jitter limit as indication that we are not
blocking and slightly reduce current estimate to better support fifo triple
buffering implementations that implicitly avoid blocking on swapbuffers
when having a free buffer. intel linux opengl driver do this implicitly
when full screen for double buffered opengl, probably others do too. we
need to block to get usable estimates.

use a tighter sliding jitter window and allow slightly higher difference
from nominal rate because my quirky laptop thinks 60 Hz == 62.2 Hz.