UML: Update TitleState

Notable changes include:
* The removal of Sound attributes, as these are only used by the
  OptionLists and not by TitleState itself. All that needs to be
  done is create each Sound as a local variable in init() and then pass
  them as arguments when creating each OptionList.
* The removal of is_requesting_state_change(), as all it would do is
  check to see if the current OptionList's next_state attribute is
  greater than 0. A simple if statement in update() would accomplish
  the same goal.
* The removal of the integer parameter in change_list(), as TitleState
  will now be responsible for knowing which OptionList to display next,
  based on the value of current_options.
* current_options being changed from a direct reference to the
  currently-active OptionList, to an integer for the index of the
  OptionList within the option_lists attribute. This is to accomodate
  the above change.