Moved shape generation to its own module shapes.py

Added option to set_position to allow relative positioning