Support various generic objects as input

Support array-like input objects, other objects via toString(), and decimal numbers stored as strings. Resolves #2