Update many things (function, variable renaming is urgely requested)
+ [In Physics] function bounce to compute new position and new velocity
after bouncing
+ [In Physics] function computeTrajectory (rename needed) to compute new
position + velocity and ALSO trajectory after bouncing (this function
may not be used)
+ [In Game] the function isNextPosAvailable to check whether the next
position of the ball is reachable. It should return an Obstacle object
(instead of a Segment like now)
+ [In Game] function Show: update the condition for a ball to show if
isNextPosAvailable returns null, otherwise the ball has to recompute his
position (the old code fragment that do the reflection is commented out)
+ [In Segment] update 2 function setFirstPoint and setSecondPoint so
that it will save the smaller point (in X position) to the first point
and the larger to the second (and change to use privately only because
they require really caution when using otherwise, only 1 point is
changed)
+ [In Segment] new implement of setPoints which replace the
setFirstPoint and setSecondPoint functions in the public. This function
will change the 2 points of a segment so that the first point always
smaller than the second point.
+ [In MapReader] update the show function to sort the reflectorList
(according to x of the first point) after Zooming and Shifting 
+ [In MapReader] update the Zoom and ShiftAll function to call the
SetPoint version of a segment (rather than add
+ [In Obstacles] this class is created to be inherited by others like
walls, enemies, traps (spikes...) , teleporters (including black hole,
conveyor, etc.)
+ [In Character] a function to recompute the position after hitting a
wall. TODO: change the variable direction of type Ray to something more
usable!