Don't close the vertex list if the polygon isn't

Make the vertex list reflect better the choice of closing (or not) the
polygon. There are two new functions: polygon_toggle_close and
polygon_is_closed to deal with that.

Signed-off-by: Celelibi <celelibi@gmail.com>
Polygon functions should take a struct polygon *

Polygon functions act on polygons. Thus they should take a polygon as
argument, and not a struct vertex*. Moreover, the function
polygon_remove_vertex can be greatly simplied with the double linked
list.

Signed-off-by: Celelibi <celelibi@gmail.com>
Leave glut main loop cleanly

Don't call exit(), this provoke an error and a "pure virtual method
call". Call glutLeaveMainLoop to return to the main.

Signed-off-by: Celelibi <celelibi@gmail.com>