take underscored image names into account while simplifying options parsing

* takes advantage of `rpartition` to more efficiently (and clearly) split the options
* swaps where we `to_s` the hash keys in favor of symbolizing in fewer places