use satisfies? to determine JSONables

the `(get (:impls JSONable) (class obj))` doesn't seem to handle the case where JSONable is declared as part of defrecord/deftype