text: Title: Add custom snippet path support
  Body: ### Description
  
  I would like to be able to have Marimo include a custom path to snippets that will load within the snippets list.
  
  ### Suggested solution
  
  I imagine this would be provided in two ways:
  
  1. Via the `pyproject.toml` file:
  
    ```toml
    [project]
    name = "marimo-example"
    version = "0.1.0"
    description = "Add your description here"
    readme = "README.md"
    requires-python = ">=3.11"
    dependencies = []
    custom_snippet_path = "./_snippets"
    ```
  
  2. Via an ENV variable:
  
  ```
  CUSTOM_SNIPPET_PATH=./_snippets marimo edit
  ```
  
  This path would then be added to the `snippet_files` method in [marimo/_snippets/snippets.py](issues/new?template=feature_request.yaml) file:
  
  ```
  def snippet_files() -> Generator[str, Any, None]:
      root = os.path.realpath(
          str(import_files("marimo").joinpath("_snippets").joinpath("data"))
      )
      for _root, _dirs, files in os.walk(root):
          for file in files:
              if file.endswith(".py"):
                  yield os.path.join(root, file)
  ```
  
  ### Alternative
  
  I have considered using metaprogramming to override this method, but a core solution would be much better.
  
  ### Additional context
  
  This will allow for massive adoption within my dev team and would allow us to share knowledge and snippets across different notebooks that are all within the same `marimo edit` server