Add BuildArgs to store common build arguments . ### Description

This renames `ReplayArgs` in pywasmcross to `BuildArgs` and uses it in buildall and buildpkg. No functional changes are involved except for some modifications in function parameters and how logs are copied after the build.

This PR makes it easier to call methods in buildall and buildpkg from the new CLI.

### Checklists

- [x] Add / update tests

package:
  name: hashlib
  version: 1.0.0 # Nonsense
  tag:
    - always
  top-level:
    - _hashlib
build:
  type: cpython_module
  script: |
    mkdir dist
    export DISTDIR=$(pwd)/dist
    cd $CPYTHONBUILD

    emcc $STDLIB_MODULE_CFLAGS -c Modules/_hashopenssl.c -o Modules/_hashlib.o \
      $(pkg-config --cflags --dont-define-prefix libcrypto) -DOPENSSL_THREADS

    emcc Modules/_hashlib.o -o $DISTDIR/_hashlib.so $SIDE_MODULE_LDFLAGS \
      $(pkg-config --libs --dont-define-prefix libcrypto) -DOPENSSL_THREADS

requirements:
  run:
    - openssl
  host:
    - openssl

package:
  name: hashlib
  version: 1.0.0 # Nonsense
  tag:
    - always
  top-level:
    - _hashlib
build:
  type: cpython_module
  script: |
    mkdir dist
    export DISTDIR=$(pwd)/dist
    cd $CPYTHONBUILD

    emcc $STDLIB_MODULE_CFLAGS -c Modules/_hashopenssl.c -o Modules/_hashlib.o \
      $(pkg-config --cflags --dont-define-prefix libcrypto) -DOPENSSL_THREADS

    emcc Modules/_hashlib.o -o $DISTDIR/_hashlib.so $SIDE_MODULE_LDFLAGS \
      $(pkg-config --libs --dont-define-prefix libcrypto) -DOPENSSL_THREADS

requirements:
  run:
    - openssl
  host:
    - openssl
