gbc: allow weighting examples and custom loss

do it like:

class MyLossFunction:
  ...the three required functions...

gbc = GradientBoostingClassifier(loss='my.module.MyLossFunction')
gbc.fit(X, y, weights=np.array(...))