Multi-Agent Coordination with arbitrarily shaped Descriptor Functions