NIMBLEGEN SYSTEMS INC. SUBORDINATED CONVERTIBLE NOTE AND WARRANT PURCHASE AGREEMENT MAY 21, 2004