Multiple updates, mostly related to shadow casting

 - Method 'randomInRange' removed from 'Application' class.
 - Random number of lights and blocks calculated with the aid of 'Util' class.
 - An assertion added for an unwanted condition.
 - PRINT defines added for simple call tracing & debugging.
 - A new parametric 'Block' constructor added.
 - Method 'deleteEdges' implemented.
 - Method 'setEdges' implemented.
 - Method 'updateEdges' removed, until we need it later.
 - Method 'randomLocation' directly uses 'location' method now.
 - Methods 'size' and 'location' are private methods now.
 - Class 'Edge' members and methods, including shadow casting, implemented.
 - Class 'EdgeShadow' members and methods, except rendering, implemented.
 - A new method added to 'Light' class, in order to return location.
 - In 'Vector2f' class, operators +, -, * (dot and scalar) overloaded, and 'normal' method implemented.
 - PRINT define included in Makefile.