PHP 5.3+ web browser emulator abstraction