now that we have timing closure, try to fix out-by-one-pixel
glitch on next_card_number.
refactor character generator.
rename card_* to chargen_* when referring to the character generator
logical pixel number.  All remaining card_* variables refer to
the card number, i.e., groups of 8 logical pixels.
fix $D011 smooth scroll positioning bug.
fix $D016 smooth scroll positioning bug
update next_chargen_x logic.
simplify screen address calculations in attempt to obtain timing
closure again.
prevent char_fetch_cycle from being a 32bit register.
fix expression widths for memory address calculations for
character generator.