Boxes now respond to friction correctly! 

(I'M SO HAPPY) Changed the update function. Originally we were normalizing the velocity vector and negating  it. Then multiplied that with a scalar to cancel out velocity. This way did not work. Now we set a friction vector to the velocity and at the same time multiply it with a negative scalar to flip and scale. That is then subtracted from the velocity. We check the speed (using our own magnitude method) and when it hits a certain number close to 0 it will zero out the velocity all together.