new pin api

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