If you ask me you can use Unity, It is a 3d game engine but sill you can do 2d games in that I have one video collection on how to make 2d games in unity, i can give it to you if you want it, other than that if you still don't want 3d game engine, then you can program games yourself with any programming languages, i have made a shuffle game when i started programming, i can give you the download link for he game if you want it too. But my advice i use a 3d engine to do your 2d game so it looks more nice.
You can also consider Allegro, SDL and Clanlib. Out of these I have only used SFML, and it was a pleasant experience (~2 years ago). For a bullet hell shooter, a more extensive engine than these four would not really help you.