[IMP] large optimizations to the graph view rendering (pivot table)

The pivot table rendering was slow with large tables : it appended to the
table each line, so the browser had to rerender each time the page.  This
was solved by rendering the table to a document fragment, then only add
the fragment to the main document.  This speeds up considerably the process
(from 2600ms to 420ms in one test)

Also, uses basic loops instead of underscore maps in the build_rows method
[FIX] fix a crash in graphview when user clicked rapidly twice on menu item

The issue was that the get_search_fields method tried to get the view's 
corresponding searchview after a rpc (fields_get).  Sadly, if the user
had meanwhile clicked again on the menu item, the first view would be
detached from the view manager and would be unable to reach the search 
view.  The solution is to move the lookup for the search view in the start
method, where it is guaranteed to exist.
[MERGE] merge from trunk
[MERGE] merge from trunk
[MERGE] some optimizations on graph view pivot table rendering