Better ASTNode API, Similar to jQuery

- Have ASTNode return a constructor function,
  instead of a factory object.

- Altered `isObject()` check to include any object,
  including functions, so long it inherits from the
  base Object.