Added type signatures to vector functions, changed module name

Since the vector type is 2d only, changed the name to reflect that
Made type signatures more lenient than they were defaulting to by
making them use Num a than double.
Made bounds checks for paddles and ball. Added ball

Paddle is now bounded by screen
Ball bounces on top and bottom walls.
Ball is also bounded by screen