OptionList: Add OPTION_DISTANCE constant

I knew I was forgetting something...
Add create_options() to OptionList and subclasses

Since every subclass of OptionList is required to create its own
Options, it makes sense to turn the creation process into its own
method. create_options() is called from OptionList's init() method, so
each subclass MUST implement create_options() in some way.

Another change to OptionList's init() is the addition of the x and y
args. This will allow the position of an OptionList to be set before
calling create_options(), since the position of each Option will be
based on the position of the list itself.
UML:Add create_options() to OptionList subclasses
MainOptionList: Add init() and create-options()