Here's a way of doing the first one
I gotta run at the moment, will take a better look at the others when I can, however, I can't quickly think of any reason what you're asking for in any of them can't be done.
Code:
on *:input:*:{
while $istokcs($1-,i,32) { var %a = $reptokcs($1-,i,I,32) }
while $istokcs($1-,im,32) { var %a = $reptokcs($1-,im,I'm,32) }
while $istokcs($1-,id,32) { var %a = $reptokcs($1-,id,I'd,32) }
}