Extended object inspection functionality

This extends the `%O` specifier by supporting control of the representation depth through a precision, and adds an `%A` specifier listing only enumerable properties.