My suggestion:
- Create a branch
- Merge daily from trunk to your branch and resolve conflicts.
- Work until it's done. Your branch may be outside core development for several sprints.
- Merge back to trunk.
There's no getting around the fact that it will probably get ugly. I don't envy you. In my experience, when you drastically change a project, it's easier to merge ongoing development into the new paradigm versus somehow merging the new paradigm into a now-changed trunk after everything is finished. Still, it's going to hurt.