Right now, because we only check and redirect the user during tab events, we're unable to detect the user reaching the limit while staying on a wikipedia page. e.g., user starts the browser, opens a wikipedia page and stays on it for a long time. We fail to detect cases like these.
Timers must be used to detect cases like these and then user must be redirected.
gatekeeper.js contains a lot of utility code that can be used by other modules as well. Separate that code into another module so it can be imported and used.
Right now, the time limit is permanent - not per day. So, if the limit is reached once, we can never browse wikipedia pages again. Fix this by using daily limit instead.
Create a main settings page for this extension and link to it in the browser action ui. This settings page should let the user configure all settings for this extension.