FIX: VirtualPages use correct casting for 'virtual' database fields

I ran into this with a page type like:

```php
class MyPage extends Page {
    private static $db = array(
        'ExtraContent' => 'HTMLText'
    );
}
```

If you create a `VirtualPage` that links to one of an instance of this new page type, `$ExtraContent` in the template won’t work as expected as shortcodes aren’t parsed.