Make classes which use Transformable and Drawable virtually inherited

These classes should be virtually inherited to prevent Diamond inheritance in source code outside of SFML.
I would have liked to use a single queue in our application but found that because these classes were not virtually inherited that I would need to use my own separate queue for both Text and Sprites (as well as possibly other things) rather than just one global sf::Drawable queue.

I am not sure if there are other classes which should have these virtually inherted, I changed the ones which seemed to be problematic for me.

A few classes have virtual draw functions inside private sections of these classes, I am curious as to why you have them virtual if they're private?

Let me know if there are any other changes you would like me to do.