Another approach to API

So, I decided to abandon the idea with multiple WakeLock objects, as there was much negative feedback about it.
Now we consider WakeLock object as a singleton, with acquire/release methods. Each WakeLock would be associated with one type of resource - screen, cpu, wifi, etc., so that you have to acquire `screen.wakeLock`, `system.cpu.wakeLock`, etc. for corresponding resource. Developer can safely acquire it many times and release it only once (or wait for page to unload, or maybe wait for page to exit fullscreen). If he needs reference counting - he should implement it himself. No GC bindings at all :)