added scrolling, but super slow with more than a couple hundred buttons.  going to explore using a pure canvas/blit implementation