firefox 'too much recursion' and memory leak fixes, componentized left panel, switched to native function.bind()