UPDATE 14 MAR 2020:
The game runs much smoother after taking out the 3-round multishot (see post dated 12 Mar), but there is still a little bit of lag when the screen first starts to fill with enemies. To remedy this, I've started restructuring the code so that things that are more lag-inducing are loaded first. So far the changes seem to be a step in the right direction. The real test will be when I try and implement some of the more dynamic backgrounds I have in mind.