text: Title: handling extra keyword arguments 
  Body: If the user passes in non-hypertools keyword arguments, we should pass them to our plotting backend.  This is somewhat non-trivial in that we need to handle the case where the user wants different values for different elements of the to-be-plotted data list.  I think what should happen is:
  - if data is *not* a list, just pass along additional keywords without modifying them
  - if data *is* a list:
    - make sure that every keyword argument's value is a list of the same length.  (if not, truncate or copy values to make the lengths match; if the user passes in a too-short list, throw an error)
    - for each to-be-plotted thing, pass (to matplotlib or other backend plotting machinery) a dictionary of keyword arguments that's constructed by taking the keys from the original keyword argument dictionary and setting the values of those keys to the corresponding elements of the keyword argument lists.