Is there a way to offset an edge? (extrude edge loop perpendicular to each edge)
ZMJ100 wrote an addon called SIRE outline. When installed it will appear in the left hand toolshelf in 3dview. It does offset (inset, outset).



https://vimeo.com/28147691 (demo video by tungee)

Over at BlenderArtists ZMj100 went crazy (in a good way) writing mesh addons, one of the addons does exactly what you want. It's probably not polite to link someone elses collection directly here, although I would like to. but here is a direct link to the thread and the zip is in the thread. It's all GPL license.