Got rid of side wall friction in surface class, got player to launch balls in tech demo.

After encountering some more bugs with the Surface class, I decided to
make it so that only background Surfaces exert friction on RBObjects.
Side walls no longer exert frictional forces. I did this so that I
could improve how collisions against side walls are handled and to make
it easier to stop objects from passing through or getting stuck in
walls when hitting them.

I also got the launcher object in the tech demo (the ball launcher that
the player controls) to launch balls and adjust (based on user input)
the speed, mass, and charge of the balls. I also awhile ago tried to
implement particle effects by creating sparks when the launcher starts
moving too fast on the rails. I've encountered a new bug when creating
these spark and ball objects around the launcher, the objects don't get
launched in the right direction or sometimes don't even move when
initialized with a velocity with a directional angle between 90 and 360
(between down and right for the Vec2D class).

Another thing I did was create an extension for the launcher object.
The extension is a green dot that appear when the mouse is moving and
shows which direction the next ball you launch will go in. Creating
this class helped me to fix some bugs with the Vec2D class.