Light, nutrients and grazing interact to determine stream diatom community composition and functional group structure