text: Title: [BUG] ModuleNotFoundError: No module named 'mars.lib.sparse.coo'
  Body: <!--
  Thank you for your contribution!
  
  Please review https://github.com/mars-project/mars/blob/master/CONTRIBUTING.rst before opening an issue.
  -->
  
  **Describe the bug**
  
  It seems that the `SparseNDArray` type does not support `COONDArray` any more. The `SparseNDArray` is a special data type implemented by Mars, it likes tensor or dataframe and may be returned as the result of the operand.
  
  For example, the `SparseNDArray` type may be returned to user:
  
  ``` python
  raw = sps.random(10, 5, density=0.2)
  arr = tensor(raw, chunk_size=3)
  arr2 = arr.astype("i8")
  
  res = arr2.execute().fetch()  # {mars.lib.sparse.matrix.SparseMatrix: (10, 5)}
  ```
  
  So, we should make it not only serializable by the Mars itself but also pickleable.
  
  The `ModuleNotFoundError: No module named 'mars.lib.sparse.coo'` is raised when unpickling a `SparseMatrix`, the type `SparseMatrix` calls `__new__` first, and `SparseMatrix.__new__` calls super new `SparseNDArray.__new__`. But, the `SparseNDArray.__new__` is a special method, it construct different types according to the input params.
  
  When unpickling, the input params of `SparseNDArray.__new__` is empty, so it goes to the stale code:
  
  ```python
  def __new__(cls, *args, **kwargs):
  
      shape = kwargs.get("shape", None)
      if shape is not None and len(shape) == 1:
          from .vector import SparseVector
  
          return object.__new__(SparseVector)
      if len(args) == 1 and issparse(args[0]) and args[0].ndim == 2:
          from .matrix import SparseMatrix
  
          return object.__new__(SparseMatrix)
  
      else:
          # When unpickling, it goes here.
          from .coo import COONDArray
  
          return object.__new__(COONDArray)
  ```
  
  **To Reproduce**
  To help us reproducing this bug, please provide information below:
  1. Your Python version 3.7.7
  2. The version of Mars you use Latest master
  3. Versions of crucial packages, such as numpy, scipy and pandas
  4. Full stack of the error.
  5. Minimized code to reproduce the error.
  
  **Expected behavior**
  A clear and concise description of what you expected to happen.
  
  **Additional context**
  Add any other context about the problem here.
  