Fix bug in linalg.eye.

Commit 04646d78e8936f71dba709b5f821208fa77a8bef introduced a bug in  `linalg.eye`. It now fails for larger N. To see this, try:

    import numpy as np
    import pycuda.autoinit
    from scikits.cuda import linalg
    linalg.init()
    print linalg.eye(128, dtype=np.float32)

This is because the ElementKernel tries to write outside the bounds of the array. This commit fixes that. Bonus: it also starts a lot less threads (N instead of the N*N that the original used).