I have a few suggestions, after playing for a while.
Canonballs should have a random chance of destroying bonus/powerup items they roll over.
There should be stats for number of canonballs deflected, pit jumps, etc, times each type of powerup has been obtained and total time spent per powerup across all games.
Maybe powerups which dynamically make the game easier or harder. E.G. a good luck powerup or similar would, for a precious few seconds, make powerups more likely to appear, canons fire less frequently, pits less likely to spawn, and in general make it easy on the player for a bit. On the other hand, a curse or similar would, again for a few seconds, do everything in its power to make things harder on the player. Canons fire more frequently and/or balls roll faster, more pits spawn, powerups are extremely rare, etc.
Also imho the firing time of canons should be slightly randomized.
And now, an outright error. As soon as a game ends, it crashes if the logs folder doesn't exist if you have logging turned on. It should probably catch this error and make the folder if needed.