Relative positioning is not workoing in use with instances
I found a bug about decoding the same bytes again by use instances. This example shows the problem of setting the start position of instance to decode from bytes belonging to the id_2 field. For an instance ```'inst'```, the value ```pos: 0``` or ```pos: id_2.size``` sets the decoding to the beginning of the whole stream, despite ```io: id_2._io``` or ```io: _io```. And ```io: id_2._io.size``` moves the decoding to the end of the stream.  

It would be good if you could refer to any position of already decoded fields while using instances:  ```pos: id_2.pos``` 

```yaml
meta:
  id: test_io
  file-extension: test_io
seq:
  # some unknown number of bytes here
  - id: id_1
    type: type1
  - id: id_2
    type: type2
    
types:
  type1:
    seq: 
      - id: start2
        size: 2
    type2:
      seq: 
      - id: start2
        type: b16
        
instances:
  inst:
    io: id_2._io
    pos: 0 # pos: id_2.size
    type: type1
```
Stream io:
![image](https://user-images.githubusercontent.com/19189927/56048685-4f3df600-5d48-11e9-8eea-38ab4b1580dc.png)
decoded data:
![image](https://user-images.githubusercontent.com/19189927/56048736-667ce380-5d48-11e9-8c16-408dc3b4adf0.png)
