Decoding the value relative to the starting position of another value.
Hi, 
I want start decoding instance  ```my_application_layer``` in second byte of  ```_io``` stream for  ```data_chunks```, but decoding instance  ```my_application_layer``` always start in 0 position of whole stream.. not in  ```data_chunks[0]._io``` or  ```data_chunks._io ```

code: 

```yaml
seq:
  - id: my_data_link_layer
    type: my_my_data_link_layer
    
  - id: transport_control
    type: my_transport_control
    if: my_data_link_layer.length > 5
    
  - id: data_chunks
    type: data_chunk 
    repeat: eos
    if: my_data_link_layer.header_control.fc.to_i == 4
  
instances:
  application_layer:
    io: data_chunks[0]._io
    type: my_application_layer
    pos: data_chunks[0]._pos
    if: my_data_link_layer.length > 5 and my_data_link_layer.header_control.fc.to_i == 4
 
types:
  data_chunk:
    seq:
      - id: data
        size: '(_io.size - _io.pos > 16) ? 16 : (_io.size - _io.pos)'
```
Whole io stream:
![image](https://user-images.githubusercontent.com/19189927/55856770-958a2e00-5b6b-11e9-8609-bd44f232c4f6.png)

Blue selection is data_chunks and in this position instance my_application_layer have to start decoded, but it start in red selection on stream beginning.

When I change ```data_chunks[0]._io``` to ```data_chunks._io``` i get this error: 
```bash
Parse error: undefined
Call stack: undefined scala.MatchError: _io (of class java.lang.String)
```