Add fold level detection code
Add fold panel:

fold triggers are visible and mouse over are detected.
Add folding panel and fix a few detection bugs
Merged 'develop'.
Fix issue when pressing enter at the beggining of a line that is a fold trigger
Add fold/unfold actions
Fix user state on windows

(msb must be left to 0, this is an unsigned int on windows).

Code folding now works fine on windows too.
Fix issue when pressing Enter at the beginning of a folded block
Add scopes visualisation (and rename FoldRegion into Scope)
Merged 'develop'.
Fix some corner cases:

- when trigger is at first line
- when scope ends at last line
Unfold should display blank lines of folded children
Add folded boxes as TextDecoration
Preview the folded scope in a Tooltip
Improve tooltip system
Fix bug when deleting a folded trigger block

all sublocks must be deleted too otherwise they remain hidden
Add CollapseAll and ExpandAll
Improve is_comment_or_docstring to allow a TextBlock instead of a TextCursor
refactoring and cleanup

(re)introduce FoldDetector to make the API easier to extend
Select only meaningfull characters
Improve folded boxes visual style
Merged 'develop'.

Conflicts:
	pyqode/core/api/syntax_highlighter.py