Returns the python object that the text is representing.
        
        :return     <object> || None

def objectAtCursor(self):
        """
        Returns the python object that the text is representing.
        
        :return     <object> || None
        """
        
        # determine the text block
        cursor   = self.textCursor()
        text     = projex.text.nativestring(cursor.block().text())
        position = cursor.positionInBlock() - 1
        
        if not text:
            return (None, '')
        
        symbol   = ''
        for match in re.finditer('[\w\.]+', text):
            if match.start() <= position <= match.end():
                symbol = match.group()
                break
        
        if not symbol:
            return (None, '')
        
        parts = symbol.split('.')
        if len(parts) == 1:
            return (self.scope(), parts[0])
        
        part = parts[0]
        obj = self.scope().get(part)
        for part in parts[1:-1]:
            try:
                obj = getattr(obj, part)
            except AttributeError:
                return (None, '')
        
        return (obj, parts[-1])