Joypad and other small updates

Added optional breakpoint for debug mode. Changed a lot of the joypad code. It's very similar to how it was before but the biggest problem before was I misread the documentation and assumed that the gb selects between direction arrows and other by setting the corresponding bits in JOYP. Fixed a small glitch in draw_sprites. I'm still not convinced windows are being drawn correctly.