Best 2D animation software
Any number of tools could be used, and best is not defined since it depends on what you know how to use. The second example quite clearly says it was done with Processing. You could choose amongst any number of tools at your disposal. Possible tools to use are (this list is not exhaustive by no means):
- After Effects, the first effect is quite easy to do in After Effects but the others aren't hard either.
- Toon Boom
- Flash Professional, Adobe animate
- NodeBox, Nodebox in particular is useful for the second effect. Much like processing.
- Mathematica, Again the second effect is trivial to do in Mathematica. Some examples can be found here
- TV Paint
Don't discount possible 3D animation tools, all 3D can do 2D. For example the animation in image 1 (below) was actually made with Maya. Just converted to a gif in Photoshop. All of the effects you list are trivial to do in Maya, if you know how to use it (Mayas learning curves is pretty steep though).
Image 1: Animation made for teaching and used here, made with Maya. Arbitrary demo easily at hand.
Nearly any animation tool can be used.