Dividir una cadena según vocales y consonantes

Dada una cadena, devuelve una cadena nueva con todas las vocales minúsculas primero, seguidas de todos los demás caracteres. Conserva el orden original dentro de ambos grupos. Los espacios, la puntuación, las letras mayúsculas y los demás caracteres que no sean vocales pertenecen al segundo grupo.

Ejemplos

Program.Split("abcde") ➞ "aebcd"

Program.Split("Hello!") ➞ "eoHll!"

Program.Split("What's the time?") ➞ "aeieWht's th tm?"

Notas

Las vocales son a, e, i, o y u.