BMW to lay off 10,000 contract workers: source