Registers a function to the print hook queue to be called on hook.
    This method will also override the current sys.stdout variable with a new
    <StreamHooks> instance.  This will preserve any current sys.stdout 
    overrides while providing a hookable class for linking multiple methods to.
    
    :param      func | <callable>

def registerStdErr(func):
    """
    Registers a function to the print hook queue to be called on hook.
    This method will also override the current sys.stdout variable with a new
    <StreamHooks> instance.  This will preserve any current sys.stdout 
    overrides while providing a hookable class for linking multiple methods to.
    
    :param      func | <callable>
    """
    if not isinstance(sys.stderr, StreamHooks):
        sys.stderr = StreamHooks(sys.stderr)

    ref = weakref.ref(func)
    if ref not in sys.stderr.hooks:
        sys.stderr.hooks.append(ref)