[IMP] optimize browse

A profile of crawling with all website modules enabled lists 6m (6071622)
calls to browse() (v8) for a total of 103s cumulative

* The inner calls to _browse represent at most its cumulative 66s (likely
  significantly less as the profile lists 12117432 calls to _browse), the rest
  being either inner time (17s) or spent in >10% of all isinstance calls (the
  profile lists 62m calls to isinstance, a significant fraction of browse()
  calls would trigger 2 different isinstance calls)

* A more significant gain is expected from skipping 6m calls to
  Iterable.__instancecheck__ out of the 9.4m (60s cumulative) calls to
  ABCMeta.__instancecheck__.