Move CALL_METHOD() macro into its own separate digger_types.h file,
since it's not specific to the particular object.
o Add "struct obj_position";
o extend CALL_METHOD() macros to take any number of optional
  arguments.
o Fully encapsulate all monster guts in the private structure;

o add dtor() method;

o add getpos(), setpos(), isnobbin() and isalive() methods to
  provide icontrolled access to that private data.
Start splitting out other objects into their own classes. Add
one for digger and one for bullet. Still WiP.
Add bullet_obj and digger_obj.
Use new encapsulated monster API. Staticize some local data and
functions while I am here.
Move some of the data into digger_obj and bullet_obj.
Use newer monster_obj API and new digger_obj.