Can you post some example code where you import the module, create the Player object and get the error? The following worked fine for me. The only change I made to the module code was import the vizact library.
Code:
import viz
import PlayerModule
viz.go()
p1=PlayerModule.Player(viz.MainView)
Yes, it's possible to link the avatar to the viewpoint and then offset the avatar from the viewpoint using a link operator.