Allow dereference of foreign unions.  This enables:

```c
typedef enum { /*< prefix=CLUTTER >*/
  CLUTTER_NOTHING = 0,
  CLUTTER_KEY_PRESS,
  /* ... snip ... */
} ClutterEventType;

union _ClutterEvent
{
  /*< private >*/
  ClutterEventType type;

  ClutterAnyEvent any;
  /* ... snip ... */
};
typedef union _ClutterEvent ClutterEvent;
```
```lisp
(c-let ((event clutter-event))
   (c-ref event clutter-event :type))
```