improve performance by  keep reusing one browser,  refactor almost all methods, add debug mode option,

Now the browser will not show during the run time , but it will flash at
the start.