A lot of that would be pretty simple finite state machine stuff - e.g. if you detect a wall close to you when you're in midair, enter a "wall slide" state where you slowly move down until there's solid ground beneath you, and which lets you wall-kick...
Not sure if getting a 3D engine for a 2D game is the best choice, but I guess if you like "2½D visuals" (3D background elements but the game plays in a 2D plane) it could work out.