make find_first_top_down public

--HG--
extra : amend_source : c791de1876177d720b876f3de77f277fa543a03c
add Design.from_spec constructor

--HG--
extra : amend_source : 2c62bd1805dfcfcc7feb9892b7e0864255edee61
yield for better test result resolution
allow for singleton Designs in DesignTree