Its gonna be quite tricky getting it to work. Essentially, you would make it so you could insert fold lines which split each vertex into two. You would then be able to grab vertexes on one side of a fold line, and rotate their coordinates (using trig) about the fold line. You would then have to add some collision to this folding process. It wouldn't have to be sliding, it would just prevent moving the fold if it collides. To render it, I would just have a function to completely remake the model from scratch out of individual 3D triangles. To allow the user to create fold lines, you would let the user position a rectangular plane in 3D space and then press a key for it to create fold lines where it intersects each vertex. The main challenge is the maths - which isn't too complicated if you know what your doing. This would make quite an interesting challenge / competition, and I might give it a go if I ever have a spare hour or two.
EDIT: I've got a bit of free time, I might have a go at it (if you don't mind of course) and if I don't get much done I'll give you the functions I manage to make.
Simple... yet fun!