render tideline even if some data type(s) missing

Make tideline robust against arbitrarily missing data types.

Fixes #22 and in addition fixes error positioning smbg properly when no cbg present (because BG scale was erroneously calculated based on cbg values alone).