ApplicationDebugger provides an easy way to intercept and modify
classes for debugging purposes.
To debug an application, a class name and a String array of
arguments are passed in the constuctor, methods to intercept are specified
using the addMethod() methods, and finally run() is called, which will
invoke main() on the user specified class.