Discovering Motor Programs by Recomposing Demonstrations