Fixed namespace bug and added current state

Hi Mathias,

I changed the the namespace behavior because how you used it wasn't the intended way.
Let me explain:
You added the namespace to the trigger which meant the callback would only be fired, when the user actually attached the listener `show.visibility`.
Using just `show`, like in your example, didn't work.
Using namespaces is something the user can decide when attaching listeners.
That is why I removed it from the trigger.
Now it will work with both `show.visibility` and `show`. The difference is when the user decides to remove the listeners later he can do `off('.visibility')` and it will only be removed if he previously attached it using that namespace.
If users want to use namespaces they can and they will only try it when they are familiar with the jQuery logic of it.
So this is really completely user territory and expected jQuery behavior and that is also why I removed it from the README.

The second change I made concerns the variable `document.hidden`.
It is sometimes necessary to know the current state right from the page load.
The reason is that you can also reload a page while currently being in a different tab.
So whatever logic you have that depends on visibility will need to behave differently then right from the start.

Have a look at the changes, but my guess is everything should be fine. :)

best regards,
J

while that is true I would argue that it fails jslint for a reason.
Either way we should aim for clean code.
So here's how I suggest we resolve this:
Please clarify why you think the value even might be `null`. If there is a good reason we could use `== null` with an added jshint option (as suggested in the stackoverflow post).
If you come to the conclusion (like I did) that there's actually no reason to check for `null` we can leave the check for `=== undefined`.