I'd take 3, which looks like the best & easiest solution.
I guess 2 won't even be possible for downloadable builds since brackets.json/state.json are strictly separated from the Brackets source.