Another mixed bag of patches

- Save more state variables from the VIC
- Update interrupt handling so the PC pushed is correct
- Update "kernal" for best-practice interrupt handling