Correctly detect derived types

If there was a derived type (e.g. numpy.float64 is derived from
float), it was not printed, although it would have been perfectly possible.
To detect the type better, use isinstance() instead of specific type
comparision
Forgot to include the actual source for Odict

Signed-off-by: etcher3rd <etcher3rd@gmail.com>