Playing around with this... I've added a method to Header.cs to make calculating a seek easier:
* Returns the number of samples in this frame.
* @return number of samples
public int number_of_samples()
// we can get away with this because each layer always returns a set number of samples per frame... h_vbr_time_per_frame is actually a sample count
This way the frame doesn't have to be decoded during a seek.