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.
Edited by ByteTroll, 26 June 2014 - 09:02 PM.
"The code you write when you learn a new language is shit.
You either already know that and you are wise, or you don’t realize it for many years and you are an idiot. Either way, your learning code is objectively shit." - L. Spiro
"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth
"The 'friend' relationship in c++ is the tightest coupling you can give two objects. Friends can reach out and touch your privates." - frob