new pin API

merge when https://github.com/tessel/firmware/pull/122 lands