* refactor a mega function for readability and make sure to increment retry_count on exception so that we don't infinitely loop
* improve session and page level context handling
* don't use pydantic for the session context
* we don't need retry success
* move playwright handling into the session context
* need to break on ok
* return doc from scrape
* fix comment
---------
Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>