Corrected the moveShape method in LinearVector

Added a method to validate the shape points within boundries. If any of
the points are outside of the boundries, it will move the shape by
reflecting the angle either vertically or horizontally.

Added an Enum ReflectionStatus, so the validate method knows whether or
not to reflect the angle or keep moving the shape until it is within the
boundries.