Results 24 issues of nobbele

Closes #70 Annoyingly it got based off of update-deps PR.. The major change is context creation. On Android (and iOS) you can't create the graphics context immediately since you have...

to center some text you currently have to type ```rs TextLayout::Wrap { h_align: TextAlign::Middle, v_align: TextAlign::Middle, } ``` Adding some constructors such as `TextLayout::wrap_center()` would make it significantly easier to...

enhancement
*GOOD FIRST ISSUE*
Type-CODE

[PresentMode](https://docs.rs/wgpu/latest/wgpu/enum.PresentMode.html) supports 3 modes but currently ggez's vsync only switches between Mailbox and Fifo. Should we have add a config to switch between Mailbox and Immediate for non-vsync configurations?

enhancement
*GOOD FIRST ISSUE*
Type-CODE
Type-DOCS

**Describe the bug** `Canvas::finish` returns `RenderError("starting Canvas outside of a frame")` when used inside your state constructor. **Hardware and Software:** - ggez version: [9a7ff9f](https://github.com/ggez/ggez/commit/9a7ff9f00fff95d2eb06e71aa58ca76671550bfb)

question

Adding a comment like "use this in pixel art games or the game will look blurred" to examples and maybe in `set_sampler` too

enhancement
*GOOD FIRST ISSUE*
Type-DOCS

Minimal platformer style game?

enhancement
*GOOD FIRST ISSUE*
Type-DOCS

Tried adding if cfg!(test)s to context.rs:87 and initialize a EventLoopExtWindows::any_new_thread() but that just makes cargo test never exit workaround: cargo test -- --test-threads=1

bug
Type-TOOLING

related issue: https://github.com/gfx-rs/wgpu/issues/2711#issuecomment-1144390043 Reported by meatsoupcube#1991 on discord

bug
dependency bug