Support hashes with string keys

This is acheived by sybolizing (with #to_sym) on initialize.
Only occurs if the FIRST hash key is not a symbol (preserving performance).
Support could potentially extend to any object that implements #to_sym.