Personally, I think an "engine" is overkill for this type of game. At the core, the game is really just a whole bunch of 2D images and audio with some logic behind it. To me, a better solution would be to code the logic based around a common frontend and then code backends for each platform that you need. This way, you are only rewriting the code that needs to be changed.
EDIT: However, this would depend on how you want to approach things. Programs like GameMaker should be able to handle this kind of work with less hassle.