"Xian Sheng" literally means "scholar of previous generations", which has been equated to Mister in modern Chinese. It is now used more often, but it is still mostly used for person who you know is a honorable or who looks like a honorable (or when you want to get a favor, etc).
It is true "Sensei" is a Japanese version of "Xian Sheng", which actually is pronounced just like in dialects in eastern China. Many two character words in Japanese are pronouced very close to that in Chinese dialects.
I don't think in GuangDong they call all teachers "Xian Sheng", though I known they use "Xian Sheng" more often than elsewhere. "SiFu" was traditionally used in professions that require "hand skills", like arts and craft. But "SiFu" is a word that has been abused in recent years, a teenage thug on the streets is called "Xiao SiFu" (young teacher :-) ). I don't think it is preferable to call Mr. Yang as "Yang SiFu" when you want to show respect. It can actually be an insult to a Chinese honorable to call him "SiFu". Since Weiqi (Go) players are not "hand skills" workers,they are not called "SiFu" in general. I never called anyone tought me as "SiFu". In China, they are generally called "LaoShi" by their students.
The author Qiang Gao can be reached at: mailto:email@example.com